Configuring the Watchdog Timer

You can choose whether to enable the RTSS watchdog timer from the Configure the Watchdog Timer Control Panel page. See below for complete descriptions of the available settings. If an RTSS thread is CPU bound it may not be able to be terminated unless you reboot your system. CPU bound threads may also slow down the Windows Operating system, or not allow for communication between windows and the RTX64 subsystem. See Runaway Thread Management for more information on how the Watchdog Timer works and when it should be used.

NOTE: Enabling the Watchdog Timer is recommended for development but not for production systems since, when triggered, it will freeze all running RTSS threads on the system. You must then restart the subsystem or reboot the system.

 


Opening this Page in RTX64 Control Panel

To open this page in rtx64 Control Panel:

  1. In the Start menu, navigate to RTX64 4.5 Runtime and click RTX64 Control Panel.
  2. Click Configure the RTSS Subsystem > Configure the Watchdog Timer.

Monitoring for Runaway Threads

Enable the watchdog timer to monitor for runaway RTSS threads. Set a timeout parameter to limit runaway threads. If a RTSS thread runs continuously for more than this amount of time, all RTSS processes and threads are frozen, and a system tray pop-up appears notifying of the Starvation. The user is responsible for terminating all frozen threads. The Subsystem must then be restarted.

NOTE: This feature is normally used during development and should only be used in a deployed system if your system can handle the scenario where all real-time applications are frozen when the Watchdog Timer starts.

NOTE: Enabling the Watchdog Timer may generate Watchdog Timeout exceptions when NIC drivers are loaded during NAL startup.

NOTE: If the Watchdog Timer is enabled and the Subsystem has frozen all processes, including the RT-TCP/IP Stack, you must terminate the frozen processes with RtssKill. For more information, see RtssKill Usage.

To monitor for runaway threads:

  1. Select the Monitor for runaway threads check box to enable support for monitoring runaway threads. To disable support, do not select this check box.
  2. Enter the number of microseconds of the timeout period in the Timeout box. The minimum value is 1000 microseconds. The maximum value is Uint32Max (4,294,967,295).

NOTE: The Timeout value must be a multiple of the HAL timer. It must also be less than or equal to the value set for the Stack Timer Interval.

NOTE: The default watchdog timer period is 5 seconds.

 

RELATED Topics: